
// 定义详情模块数据ts类型
export interface ResponseData {
    code: number
    message: string
    ok: boolean
}

// 代表医院详情的数据
export interface HospitalDetail {

    "bookingRule": {
        "cycle": number,
        "releaseTime": string,
        "stopTime": string,
        "quitDay": number,
        "quitTime": string,
        "rule": string[]
    },
    "hospital": {
        "id": string,
        "createTime": string,
        "updateTime": string,
        "isDeleted": number,
        "param": {
            "hostypeString": string,
            "fullAddress": string
        },
        "hoscode": string,
        "hosname": string,
        "hostype": string,
        "provinceCode": string,
        "cityCode": string,
        "districtCode": string,
        "address": string,
        "logoData": string,
        "intro": null,
        "route": string,
        "status": number,
        "bookingRule": null
    }

}

// 医院详情的数据ts

export interface HospitalDetail extends ResponseData {
    data: HospitalDetail
}

// 医院科室数据
export interface Deparment {
    "depcode": string,
    "depname": string,
    "children"?: Deparment[]
}

// 代表储存科室数组类型
export type DeparmentArr = Deparment[]

// 医院返回数据的类型
export interface DeparmentResponseData extends ResponseData {
    data: Deparment[]
}

// 用户接口需要带参数的类型
export interface LoginData {
    phone: string,
    code: string
}

// 登录接口返回的用户信息的数据
export interface UserInfo {
    name: string,
    token: string
}

export interface UserLoginResponeseData extends ResponseData {
    data: UserInfo
}

// 定义微信扫码登录返回的数据ts类型
export interface WxLogin {
    "redirectUri": string,
    "appid": string,
    "scope": string,
    "state": string
}

export interface WxLoginResponseDate extends ResponseData {
    data: WxLogin
}

export interface baseMap {

    "workDateString": string,
    "releaseTime": string,
    "bigname": string,
    "stopTime": string,
    "depname": string,
    "hosname": string

}

export interface workDate {

    "workDate": string,
    "workDateMd": string,
    "dayOfWeek": string,
    "docCount": number,
    "reservedNumber": number,
    "availableNumber": number,
    "status": number
}

export type bookingScheduleList = workDate[]

export interface HospitalWorkDate extends ResponseData {
    data: workEndData
}

export interface workEndData {
    total: number,
    bookingScheduleList: bookingScheduleList,
    baseMap: baseMap
}
// 代表一个医生的数据
export interface Doctor {
    "id": string,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "dayOfWeek": string,
        "depname": string,
        "hosname": string
    },
    "hoscode": string,
    "depcode": string,
    "title": string,
    "docname": string,
    "skill": string,
    "workDate": string,
    "workTime": number,
    "reservedNumber": number,
    "availableNumber": number,
    "amount": number,
    "status": number,
    "hosScheduleId": string
}

// 数组包含全部医生
export type DocArr = Doctor[]

export interface DoctorResponseData extends ResponseData {
    data: DocArr
}

// 代表的是一个就诊人数据ts类型
export interface User {
    "address": string
    "birthdate": string
    "cardNo": null
    "certificatesNo": string
    "certificatesType": string
    "cityCode": null
    "contactsCertificatesNo": string
    "contactsCertificatesType": string
    "contactsName": string
    "contactsPhone": string
    "createTime": string
    "districtCode": null
    "id": number
    "isDeleted": number
    "isInsure": number
    "isMarry": number
    "name": string
    "param": {
        "certificatesTypeString": string
        "cityString": null
        "contactsCertificatesTypeString": string
        "districtString": null
        "fullAddress": string
        "provinceString": null
    }
    "phone":string
    "provinceCode":null
    "sex":number
    "status": string
    "updateTime": string
    "userId":number


}

export type UserArr = User[]

export interface UserResponseData extends ResponseData{
    data:UserArr
}

// 获取某一个挂号医生数据详情
export interface DoctorInfoData extends ResponseData{
    data:Doctor
}


